/**
 * Created by CFlower on 2017/4/6 0006.
 */

var equipArr=[];                                    // 设备列表
var compensatorArr=[];                             // 补偿器列表

$(function() {                                      // 页面初始化构造方法
    $('#dataGrid').datagrid({
        url: 'compensatorEquipment/dataGrid',   // 加载补偿器安装表中的所有记录
        fit: true,   //true,是让表格高度适应屏幕高度，为FALSE是适应内容
        striped: true,
        rownumbers: true,
        pagination: true,
        singleSelect: true,
        idField: 'id',
        sortName: 'id',
        sortOrder: 'asc',
        pageSize: 50,
        pageList: [10, 20, 30, 40, 50, 100, 200, 300, 400, 500],
        frozenColumns: [[{
            width: '160',
            title: '设备',
            field: 'equipmentName'
        }, {
            width: '120',
            title: '补偿器名称',
            field: 'compensatorName'
        }, {
            field: 'action',
            title: '操作',
            width: 200,
            formatter: function (value, row, index) {
                var str = '&nbsp;';
                if (row.isdefault != 0) {
                    if ($.canEdit) {
                        str += $.formatString('<a href="javascript:void(0)" onclick="editCompensatorEquipment(\'{0}\');" >编辑</a>', index);
                    }
                    if ($.canDelete) {
                        str += '&nbsp;&nbsp;|&nbsp;&nbsp;';
                        str += $.formatString('<a href="javascript:void(0)" onclick="deleteCompensatorEquipment(\'{0}\');" >删除</a>', row.id);
                    }
                }
                return str;
            }
        }]],
        toolbar: '#toolbar'
    });

    $("#dia-add").dialog({                                              // 添加补偿器关联对话框入口
        title:"添加补偿器关联",
        modal: true,
        width: 400,
        height: 200,
        closed: true,
        buttons : [{
            text : '添加',
            iconCls : 'icon-add',
            handler : function () {                                      // 添加按钮响应函数
                var bool=$("#form-add").form('validate');
                if(bool){
                    $.ajax({
                        cache:false,
                        url:'compensatorEquipment/add',               // 在补偿器关联列表增加一条记录
                        data:$("#form-add").serialize(),                // 获取对话框内所有输入的信息
                        type:"POST",
                        dataType:"json",
                        success:function(result){
                            if(!result.success){
                                alert(result.msg);                        // 增加失败的时候提示错误信息
                            }else{
                                $("#dataGrid").datagrid('reload');      // 增加成功后重新加载记录
                                $("#dia-add").dialog('close');          // 关闭对话框
                            }
                        }
                    });
                }
            }
        },{
            text : '取消',
            iconCls : 'icon-redo',
            handler : function () {                                       // 取消按钮响应函数
                $("#dia-add").dialog('close');                           // 关闭对话框
            }
        }]
    });

    $("#dia-edit").dialog({                                               // 修改补偿器关联对话框入口
        title:"编辑补偿器关联",
        modal: true,
        width: 400,
        height: 200,
        closed: true,
        buttons : [{
            text : '编辑',
            iconCls : 'icon-edit',
            handler : function () {                                         // 编辑按钮响应函数
                var bool=$("#form-edit").form('validate');
                var fff= $("#form-edit").serialize();
                if(bool){
                    $.ajax({
                        cache:false,
                        url:'compensatorEquipment/edit',                  // 在补偿器关联列表修改一条记录
                        data:$("#form-edit").serialize(),                   // 获取对话框内所有输入的信息
                        type:"POST",
                        dataType:"json",
                        success:function(map){
                            if(!map.success){
                                alert(map.msg);                                // 修改失败的时候提示错误信息
                            }else{
                                $('#dataGrid').datagrid('reload');           // 修改成功后重新加载记录
                                $("#dia-edit").dialog('close');              // 关闭对话框
                            }
                        }
                    });
                }
            }
        },{
            text : '取消',
            iconCls : 'icon-redo',
            handler : function () {
                $("#dia-edit").dialog('close');
            }
        }]
    });

    $.ajax({
        cache:false,
        url:'equipment/tree',                                               // 获取所有的设备
        type:"POST",
        dataType:"json",
        success:function(result){
            $.each(result,function(n,value) {
                equipArr.push({'value':value.id,'text':value.text});        // 将所有的设备存入数组中
            });
        }
    });

    $.ajax({
        cache:false,
        url:'compensator/tree',                                              // 获取所有的补偿器
        type:"POST",
        dataType:"json",
        success:function(result){
            $.each(result,function(n,value) {
                compensatorArr.push({'value':value.id,'text':value.text});   // 将所有的补偿器存入数组中
            });
        }
    });
});



    function initEquip(id) {                        // 加载设备缓存数组里面的设备
        $(id).combobox({
            valueField: 'value',
            textField: 'text',
            panelHeight: 'auto',
            editable: false,
            data: equipArr
        });
    }

    function initCompensator(id) {                    // 加载补偿器缓存数组里面的设备
        $(id).combobox({
            valueField: 'value',
            textField: 'text',
            panelHeight: 'auto',
            editable: false,
            data: compensatorArr
        });
    }

    function addCompensatorEquipment() {                                         // 增加补偿器关联入口函数
        initEquip('#dia-add #e_id');                                            // 加载所有设备
        initCompensator('#dia-add #p_id');                                      // 加载所有补偿器
        $("#dia-add #e_id").combobox('select',equipArr[0].value);             // 设备下拉框默认选中第一个
        $("#dia-add #p_id").combobox('select',compensatorArr[0].value);      // 设备下拉框默认选中第一个
        $("#dia-add").dialog('open');                                           // 打开增加关联对话框
    }

    function editCompensatorEquipment(index) {                                    // 修改补偿器关联入口函数
        var rows=$('#dataGrid').datagrid('getRows');
        var row=rows[index];                                                       // 获取当前要修改的记录的位置
        $("#dia-edit input[name=id]").val(row.id);                              // 记录当前行的id
        initEquip('#dia-edit #e_id');                                            // 加载所有设备
        initCompensator('#dia-edit  #p_id');                                     // 加载所有补偿器
        $('#dia-edit #e_id').combobox('select',row.equipmentId);                // 默认选中要修改的设备
        $('#dia-edit #p_id').combobox('select',row.compensatorId);              // 默认选中要修改的补偿器
        $("#dia-edit").dialog('open');                                           // 打开修改关联对话框
    }

    function deleteCompensatorEquipment(id) {                                      // 删除补偿器关联入口函数
        if(confirm("确定要删除当前补偿器关联吗？")){
            $.ajax({
                cache:false,
                url:"compensatorEquipment/delete",                              // 调用补偿器关联表中的删除方法
                data:{id:id},
                type:"POST",
                dataType:"json",
                success:function(result) {
                    if(result.success){
                        $('#dataGrid').datagrid('reload');                        // 删除成功以后重新加载所有记录
                    }else{
                        alert(result.message);                                       // 删除失败以后反馈失败信息
                    }
                }
            });
        }
    }
